package com.yunqian.util.validate;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 正则匹配字符串
 *
 * @author czy
 * @describe
 * @date 2018/6/28
 */
public class RegexUtil {

    /**
     * 数字字母组合 6~16个字符 不能全为数字或字母
     */
    public static final String pwdRegex = "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$";

    /**
     * 二代身份证校验正则
     */
    public static final String ID_CARD= "^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$";

    /**
     * 校验登录密码规则
     * @param str
     * @return
     */
    public static boolean pwdCheck(String str){
        Pattern pattern = Pattern.compile(RegexUtil.pwdRegex);
        Matcher matcher = pattern.matcher(str);
        return matcher.find();
    }

    /**
     * 校验18位身份证规则
     * @param str
     * @return
     */
    public static boolean idCardCheck(String str){
        Pattern pattern = Pattern.compile(RegexUtil.ID_CARD);
        Matcher matcher = pattern.matcher(str);
        return matcher.find();
    }
}
